package com.haredot.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.haredot.dto.FindPwdDTO;
import com.haredot.dto.ModifyUserDTO;
import com.haredot.entity.User;
import com.haredot.vo.*;

import java.util.Map;

public interface UserService extends IService<User> {

    R<?> registerOne(UserOneVo userOneVo);

    R<?> registerTwo(UserTwoVo userTwoVo);

    R<?> registerThree(UserThreeVo userThreeVo);

    R<?> active(Map<String, Object> params);

    R<?> getEmailCode(String email, String subject);

    R<?> login(String email, String code) throws Exception;

    R<?> bindAccount(String uid, String type, String sign, String tel, String password);

    R<?> attentionUser(Long toUserId);

    R<?> modifyUser(ModifyUserDTO modifyUserDTO);

    R<Page<UserScoreVo>> queryUserScores(Page<UserScoreVo> page);

    R<Map<String, Object>> queryScoreShapeDetails();

    R<UserFriendsVo> queryFriendList();

    R<UserFriendsVo> queryFriendDetail(Long uid);

    R<?> findPasswordByEmail(FindPwdDTO findPwdDTO);

    R<?> checkFriend(Long uid);
}
